package com.yhj.blog.persistence.mapper;

import com.yhj.blog.business.vo.ArticleConditionVO;
import com.yhj.blog.persistence.beans.BizArticle;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.BaseMapper;

import java.util.Date;
import java.util.List;

/**
 * @author 杨华京
 * @version 1.0
 * @description 有关文章的操作
 * 1、获取热门文章
 * 2、判断文章是否存在
 * 3、批量修改status
 * 4、分页查询，关联文章类型、标签
 * 5、获取上一篇和下一篇
 * 6、统计指定文章的标签集合
 * 7、获取文章详情，关联文章类型、标签
 * @since 1.8
 */
@Repository
public interface BizArticleMapper extends BaseMapper<BizArticle> {

//    获取热门文章
    List<BizArticle> listHotArticle();

//    判断文章是否存在
    Integer isExist(Long id);

//    批量修改status
    int batchUpdateStatus(@Param("list") List<Long> list,@Param("status") boolean status);

//    分页查询，关联文章类型、标签
    List<BizArticle> findPageBreakByCondition(ArticleConditionVO vo);

//    获取上一篇和下一篇
    List<BizArticle> getPrevAndNextArticles(Date inserTime);

//    统计指定文章的标签集合
    List<BizArticle> listTagsByArticleId(List<Long> id);

//    获取文章详情，关联文章类型、标签
    BizArticle get(Long id);
}
